home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / a_man / cat7 / xvm.z / xvm
Encoding:
Text File  |  2001-04-17  |  11.4 KB  |  265 lines

  1.  
  2.  
  3.  
  4. XXXXVVVVMMMM((((7777MMMM))))                                                                XXXXVVVVMMMM((((7777MMMM))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      XVM - logical volume manager
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      _////_dddd_eeee_vvvv_////_xxxx_vvvv_mmmm_////_****
  13.      _////_dddd_eeee_vvvv_////_rrrr_xxxx_vvvv_mmmm_////_****
  14.  
  15. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  16.      XVM devices provide a logical organization to disk storage that is not
  17.      based on disk partitions, enabling the administrator to divide a disk
  18.      into an arbitrary number of slices.
  19.  
  20.      XVM is cluster-aware, providing a replicated image of the XVM devices
  21.      across all cells in a cluster, and allowing for administration of XVM
  22.      devices from any cell in the cluster.
  23.  
  24.      There is a kernel driver, referred to as XVM, an api library, and
  25.      administrative commands to interface with the kernel.  The driver is a
  26.      pseudo device, not directly associated with any physical hardware;  its
  27.      function is to map requests on logical volume devices into requests to
  28.      underlying disk devices.
  29.  
  30.      XVM configuration information is stored on-disk in the form of labels, in
  31.      a reserved area of each XVM disk.
  32.  
  33.    TTTTeeeerrrrmmmmiiiinnnnoooollllooooggggyyyy
  34.      objects
  35.           XVM objects are divided into three categories:  physical volumes,
  36.           volume elements, and unlabeled disks.
  37.  
  38.      unlabeled disk
  39.           An unlabeled disk is a disk that either has not been labeled for use
  40.           by xvm, or a disk that has been labeled, but has not had its labels
  41.           read by the XVM driver.
  42.  
  43.      physvol
  44.           Physical volumes (physvol's) are disks that have been labeled for
  45.           use by XVM.
  46.  
  47.      ve   Volume elements (ve's) are the building blocks of an XVM device
  48.           topology.  Ve's are further divided into specific ve types.
  49.  
  50.      topology
  51.           A collection of related ve's arranged in a treelike fashion with
  52.           volume ve's at the root of the tree, and slice ve's at the leaves.
  53.  
  54.      volume
  55.           A volume is the topmost ve in an XVM topology.  Volumes are used to
  56.           group multiple subvolumes under a single name.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. XXXXVVVVMMMM((((7777MMMM))))                                                                XXXXVVVVMMMM((((7777MMMM))))
  71.  
  72.  
  73.  
  74.      subvolume
  75.           Subvolumes are the main io and control entry points for an xvm
  76.           topology.  Block and character special files are tied to the
  77.           subvolumes to provide the XVM io and ioctl interface.  Subvolumes
  78.           have only a single child ve.  Associated with a subvolume is a
  79.           subvolume type.  The subvolume type is a number in the range 0-255.
  80.           Types 0-16 are system-defined, and are used to mark a subvolume as
  81.           being a XFS _dddd_aaaa_tttt_aaaa, _llll_oooo_gggg, or _rrrr_tttt subvolume.  The remaining system
  82.           subvolume types are reserved for future use.  Types 17-255 are
  83.           available for administrators to tag a subvolume with a generic type.
  84.  
  85.      System-defined subvolumes must be unique within a volume ie.  you cannot
  86.      have two data subvolumes under the same volume.
  87.  
  88.      slice
  89.           Slices reside at the bottom of an XVM topology, and represent a
  90.           range of contiguous data blocks on a physvol.
  91.  
  92.      logical ve's
  93.           Between subvolumes and slices are logical volume elements that are
  94.           used to impose certain characteristics to the subvolume address
  95.           space.  Concat ve's are used to concatenate underlying ve's into a
  96.           larger address space.  Stripe ve's can be used to improve io
  97.           transfer rates by dividing io requests up among its underlying ve's.
  98.           Mirror ve's are for data redundancy by maintaining identical images
  99.           of data on each underlying ve.
  100.  
  101.      In general, the logical ve's can be stacked arbitrarily, although
  102.           there is a limit of 10 levels to a ve topology from the volume ve
  103.           through a slice.  Mirror ve's also have a limit of 8 children.
  104.  
  105.      pieces
  106.           The terms _p_i_e_c_e and _c_h_i_l_d refer to a child of a ve.  All ve's except
  107.           slices can have children.  Volumes are limited to 255 children,
  108.           subvolumes are limited to 1 child, and mirrors are limited to 8
  109.           children.  Other ve's are limited to 65536 children.  Pieces are 0-
  110.           based, meaning piece 0 is the leftmost child of a ve.
  111.  
  112.    OOOObbbbjjjjeeeecccctttt NNNNaaaammmmiiiinnnngggg
  113.      All XVM objects except slices can have user-supplied names given to them
  114.      (if user names are not supplied, default names will be generated).
  115.      Generally, objects are specified using the object name, with subvolumes
  116.      being an exception.  Subvolume objects must be specified by prefixing the
  117.      subvolume name with its volume name followed by '/'.  For example:
  118.      fred/data.
  119.  
  120.      Because user-defined names are allowed, it is possible to have
  121.      ambiguities in the XVM object name space.  When an ambiguous name is
  122.      supplied to an XVM command, the command will generate an error.  To
  123.      remove ambiguity, object names may be prefixed with a type followed by a
  124.      '/'.  For example:  _cccc_oooo_nnnn_cccc_aaaa_tttt_////_cccc_oooo_nnnn_cccc_aaaa_tttt_1111.
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. XXXXVVVVMMMM((((7777MMMM))))                                                                XXXXVVVVMMMM((((7777MMMM))))
  137.  
  138.  
  139.  
  140.      The following type prefixes are recognized:
  141.  
  142.      pppprrrreeeeffffiiiixxxx      oooobbbbjjjjeeeecccctttt ttttyyyyppppeeee
  143.      __________________________
  144.      vol         volume ve
  145.      subvol      subvolume ve
  146.      concat      concat ve
  147.      stripe      stripe ve
  148.      mirror      mirror ve
  149.      slice       slice ve
  150.      phys        physvol
  151.      unlabeled   unlabeled disk
  152.  
  153.      Note that unambiguous subvolumes are a 3-tuple:
  154.      _ssss_uuuu_bbbb_vvvv_oooo_llll_////_v_o_l__n_a_m_e_////_s_u_b_v_o_l__n_a_m_e.
  155.  
  156.      XVM volume elements can also be specified using a path-like syntax, where
  157.      the components of the path are ve names or piece numbers under the
  158.      parent.  For example:  _vvvv_oooo_llll_////_ffff_rrrr_eeee_dddd_////_dddd_aaaa_tttt_aaaa_////_cccc_oooo_nnnn_cccc_aaaa_tttt_0000_////_pppp_hhhh_yyyy_ssss_ssss_0000 refers to the ve
  159.      _pppp_hhhh_yyyy_ssss_ssss_0000, whose parent is _cccc_oooo_nnnn_cccc_aaaa_tttt_0000, which is the data subvolume of volume
  160.      _ffff_rrrr_eeee_dddd.  Additionally, _cccc_oooo_nnnn_cccc_aaaa_tttt_0000_////_0000 refers to the zero-th (leftmost) piece of
  161.      the ve _cccc_oooo_nnnn_cccc_aaaa_tttt_0000.  The piece syntax is helpful when you want to target a ve
  162.      without having to know its name.  A component of _...._.... refers to the parent
  163.      of the object referenced by the path up to that point.  For example,
  164.      _cccc_oooo_nnnn_cccc_aaaa_tttt_0000_////_...._.... would refer to the parent of concat0.  The parent of a volume
  165.      is considered to be the volume itself.  There is no concept of current
  166.      object, so _...._.... can only be used when the preceeding portion of the path
  167.      can be translated into an object.
  168.  
  169.    CCCCrrrreeeeaaaattttiiiinnnngggg TTTTooooppppoooollllooooggggiiiieeeessss
  170.      XVM topologies can be built top-down, or bottom-up.  It should be noted
  171.      that any tree or subtree that does not end in a slice will not have
  172.      labels written to disk, and therefore will not be persistent across
  173.      reboots.
  174.  
  175.    AAAAuuuuttttoooommmmaaaattttiiiicccc VVVVoooolllluuuummmmeeee &&&& SSSSuuuubbbbvvvvoooolllluuuummmmeeee GGGGeeeennnneeeerrrraaaattttiiiioooonnnn
  176.      When new volume elements are created, they are automaticly associated
  177.      with a volume and data subvolume.  This eliminates the need to explicitly
  178.      create volume and subvolumes for every ve.  By default, the volume name
  179.      will be automaticly named, and the subvolume will be of type data with
  180.      the name _dddd_aaaa_tttt_aaaa.  The _xxxx_vvvv_mmmm(1M) ve creation commands take options for naming
  181.      the volume explicitly.  Note that if a volume is automaticly named, a
  182.      new, possibly different name is generated when the system reboots.
  183.  
  184.    SSSSuuuubbbbvvvvoooolllluuuummmmeeee bbbblllloooocccckkkk////cccchhhhaaaarrrr PPPPaaaatttthhhh nnnnaaaammmmeeeessss
  185.      The subvolume block and character special files exist under the following
  186.      paths:
  187.  
  188.      _////_dddd_eeee_vvvv_////_xxxx_vvvv_mmmm_////_v_o_l_n_a_m_e______s_u_b_v_o_l_n_a_m_e   (blk-special)
  189.      _////_dddd_eeee_vvvv_////_rrrr_xxxx_vvvv_mmmm_////_v_o_l_n_a_m_e______u_b_v_o_l_n_a_m_e   (chr-special)
  190.  
  191.  
  192.  
  193.  
  194.                                                                         PPPPaaaaggggeeee 3333
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201. XXXXVVVVMMMM((((7777MMMM))))                                                                XXXXVVVVMMMM((((7777MMMM))))
  202.  
  203.  
  204.  
  205.      The shorter name _v_o_l_n_a_m_e can optionally be used instead of
  206.      vvvvoooollllnnnnaaaammmmeeee_____ssssuuuubbbbvvvvoooollllnnnnaaaammmmeeee when referring to the data subvolume.  For example,
  207.      _////_dddd_eeee_vvvv_////_xxxx_vvvv_mmmm_////_ffff_rrrr_eeee_dddd______dddd_aaaa_tttt_aaaa and _////_dddd_eeee_vvvv_////_xxxx_vvvv_mmmm_////_ffff_rrrr_eeee_dddd both refer to the block-special file
  208.      of the data subvolume under volume fred.
  209.  
  210.    AAAAddddmmmmiiiinnnniiiisssstttteeeerrrriiiinnnngggg XXXXVVVVMMMM ddddeeeevvvviiiicccceeeessss
  211.      Physvols and ve's are created and manipulated with the _xxxx_vvvv_mmmm(1M) command.
  212.  
  213. FFFFIIIILLLLEEEESSSS
  214.      _////_dddd_eeee_vvvv_////_xxxx_vvvv_mmmm_////_****
  215.      _////_dddd_eeee_vvvv_////_rrrr_xxxx_vvvv_mmmm_////_****
  216.  
  217. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  218.      xvm(1M).
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.                                                                         PPPPaaaaggggeeee 4444
  261.  
  262.  
  263.  
  264.